Компьютерное тестирование

Для обычного тестирования достаточно раздать бумажные листы с заданиями и потом вручную проверить результат. В случае автоматизированных систем мы должны предоставить компьютеру вопрос, тип вопроса и ответ(конкретное значение или указание на варианты ответа, или алгоритм проверки).

Преимущество маркван-разметки в том, что задания и ответы пишутся простым текстом, что быстрее, чем заполнять формы. В текстовый файл проще вносить правки и дополнения.

Этот раздел создан с прицелом на будущее. Программа для экспорта в какую-либо систему должна быть написана индивидуально. Возможно стоит поискать универсальный формата обмена тестами.

Общие правила оформления тестовых заданий

Тестовые задания размещаются в текстовых включениях с классом quest (или ?). Варианты ответов размещаются тут же нумерованным списком буквами или цифрами на усмотрение автора задания.

Правильный ответ размещается здесь же в псевдо-включении с классом result (или >). Ппсевдо-включение необходимо для возможности распечатки только вопросов без правильных ответов и наоборот.

[(?
Кто придумал сказку о царе Салтане?
 - а) Лермонов
 - б) Пушкин
 - в) Толстой
 - г) Народ

[{>
б
}]
)]

Виды тестовых заданий

Соответственно есть зарезервированные классы включений для каждого типа заданий:

Примеры заданий разных видов

Бинарный выбор

Ответ может принимать значения 0 или 1.

[(?binary
Верно ли утверждение: «Параллельные прямые не пересекаются»?
[{>
1
}]
)]

Единственный и множественный выбор

При выборе из представленных вариантов нужно указывать только букву или цифру указывающую на правильный ответ, без лишних скобок.

[(?single
Кто написа сказку о царе Салтане?
 -а) Лермонов
 -б) Толстой
 -в) Пушкин
 -г) Народ

[{>
в
}]
)]

Совокупность нескольких правильных вариантов ответов указываются через запятую.

[(?multiple
Какие цвета используются в светофоре для регулирования проезда автотранспорта?
 -а) Лунно-белый
 -б) Зеленый
 -в) Жёлтый
 -г) Синий
 -д) Красный

[{>
б, в, д
}]
)]

Установление соответствий

В вопросе должно быть 2 списка, а в ответе через запятую (порядок не важен), указываются идентификаторы из этих двух списков разделенных знаком минус.

[(?corresponds
Какие реки в какие моря впадают?
Реки
 - 1. Дон
 - 2. Волга
 - 3. Сырдарья
 - 4. Днестр
Моря
 - а) Черное
 - б) Аральское
 - в) Каспийское
 - г) Азовское

[{>
1-г, 2-в, 3-б, 4-а
}]
)]

Установление правильной последовательности

Здесь варианты перечисляются не через запятую, а через знак минус слева направо.

Нюанс следующего примера в том, что может быть 2 варианта ответа, второй вариант указывается на следующей строке.

[(?sequence
Расположите фигуры в порядке возрастания количества углов
 -а) треугольник
 -б) шестиугольник
 -в) квадрат
 -г) трапеция

[{>
а-в-г-б
а-г-в-б
}]
)]

Альтернативный вариант задания с картинками фигур:

[(?sequence
Расположите фигуры в порядке возрастания количества углов.
 -а) [[triangle.png]]
 -б) [[hexagon.png]]
 -в) [[square.png]]
 -г) [[trapeze.png]]

[{>
а-в-г-б
а-г-в-б
}]
)]

Числовой ответ

[(?number
У Васи в руках было 3 яблока, одно он съел сам, а другое отдал брату, сколько яблок у него осталось в руках?

[{>
1
}]
)]

Верифицируемый текст

Особенность верифицируемого текста в том, что соответствующий вопросу ответ может быть описан перечисленим всех возможных комбинаций:

[(?text
Как по неменки пишется слово =[Белый]=.

[{>
Weiß
weiß
weiss
Weiss
WEIẞ
WEISS
}]
)]

В связи с тем, что перечисление комбинаций может быть затратно, мы будем искать способы оптимизации записи.

Поэтому можно добавить условие, например так: [(? Как по неменки пишется слово =[Белый]= [{> Weiß Weiss {{не учитывать регистр}} //! ПРИДУМАТЬ КАК ЭТО ОПИСЫВАТЬ или регулярное выражение {{[wW][eE][iI](ß|ẞ|s{2}|S{2})}} }] )]

Произвольный ответ

Такой ответ теоретически может проверить нейронная сеть, но будем считать его проверяемым только человеком.

[(?
Вам необходимо разметить прямоугольный фундамент заданного размера параллельно краю участка с заданными отступами от края и угла участка. Опишите алгоритм действий.
)]

Программный код

В разработке

[(?code
Напишите программу на языке Puthon которя выводит в консоль случайное число, а на следующей строке случайное слово не содержащее число или спецсимволы.

[{>
[/ Далее должна идти программа, проверяющая вывод. На каком языке она должна быть написана? Вряд-ли можно сделать универсальное описание условий.
название задачи;
способ ввода и вывода данных проверяемой программой (консоль или файл, в последнем случае указывается еще и имя входного и выходного файлов согласно условию задачи);
количество тестов (при отсутствии данной информации осуществляется проверка программы на всех тестах, находящихся в текущем каталоге);
шаблон для имен тестовых входных файлов;
шаблон для имен файлов правильных ответов (иногда, например в случае неоднозначных правильных ответов, такие файлы могут отсутствовать);
программа для проверки правильности полученного ответа (возможно, как указание одной из стандартных программ, так и созданной специально для проверки данной задачи);
время работы проверяемой программы в секундах на одном тесте.
/]

}]
)]

Генерируемые вопросы

ещё фишка - проге генерировать вопрос: Вопрос - это формула-шаблон (с диапазонами значений), в который при каждом тестировании подставляются случайные значения из указанных диапазонов

Условия подсчёта ответов

В разработке

!Баллы за сложность вопроса! random-question-order - варианты ответов показаны как написано или перемешиваются на усмотрение программы ещё фишка - проге самой генерить некоторые ответы Продумать Подсказки
{qid: 1; type: sequence; points: 1;}
Какие стадии в своем развитии проходит бабочка? ~> Укажите правильную последовательность: -1. Гусеница -2. Куколка -3. Бабочка -4. Яйцо {{ answers: [ { id:1, answer: [4,1,2,3], }, ] }} следующие формы тестовых заданий: задания с выбором единственного правильного ответа; задания с несколькими возможными правильными ответами; задания, имеющие два ответа: один из которых правильный, в торой неправильный; задание на завершение предложений; вопросы на установления взаимосвязей; задания с краткими ответами [8,47] У вопроса типа «Краткий ответ» присутствует поле «Чувствительность к регистру» — важен или нет регистр при вводе ответа. Символ «*» используется в качестве шаблона, соответствующего любым символам. Например, если ответом на вопрос является термин «действие», не важно в единственном или во множественном числе, то в качестве правильного ответа можно указать «действи*».